Build in functions
Varying effects
from BI import bi
import numpy as np
# Setup device------------------------------------------------
m = bi(platform='cpu')
# Import Data & Data Manipulation ------------------------------------------------
# Import
from importlib.resources import files
data_path = files('BI.resources.data') / 'reedfrogs.csv'
m.data(data_path, sep=';')
# Manipulate
m.df["tank"] = np.arange(m.df.shape[0])
# Define model ------------------------------------------------
def model(tank, surv, density):
alpha = m.effects.varying_intercept(group=tank,group_name = 'tank')
m.dist.binomial(total_count = density, logits = alpha, obs=surv)
# Run sampler ------------------------------------------------
m.fit(model)
# Diagnostic ------------------------------------------------
m.summary()from BI import bi
# Setup device------------------------------------------------
m = bi(platform='cpu')
# Import Data & Data Manipulation ------------------------------------------------
# Import
from importlib.resources import files
data_path = files('BI.resources.data') / 'Sim data multivariatenormal.csv'
m.data(data_path, sep=',')
# Define model ------------------------------------------------
def model(cafe, wait, N_cafes, afternoon):
a = m.dist.normal(5, 2, name = 'a')
b = m.dist.normal(-1, 0.5, name = 'b')
sigma = m.dist.exponential( 1, name = 'sigma')
varying_intercept, varying_slope = m.effects.varying_effects(
N_group = N_cafes,
group = cafe,
global_intercept= a,
global_slope= b,
group_name = 'cafe')
mu = varying_intercept + varying_slope* afternoon
m.dist.normal(mu, sigma, obs=wait)
# Run sampler ------------------------------------------------
m.fit(model) Gaussian processes
from BI import bi
# Setup device------------------------------------------------
m = bi(platform='cpu')
m.gaussian.kernel_sq_expfrom BI import bi
# Setup device------------------------------------------------
m = bi(platform='cpu')
m.gaussian.kernel_periodicfrom BI import bi
# Setup device------------------------------------------------
m = bi(platform='cpu')
m.gaussian.kernel_periodic_localNetworks effects
sr = m.net.sender_receiver(focal_individual_predictors,target_individual_predictors)m.net.dyadic_effect(dyadic_predictors)m.net.block_model(Merica: vector[integer],3)Network metrics
m.net.degree(adj_matrix_jax)
m.net.indegree(adj_matrix_jax)
m.net.outdegree(adj_matrix_jax)m.net.strength(adj_matrix_jax)
m.net.instrength(adj_matrix_jax)
m.net.outstrength(adj_matrix_jax)m.net.eigen(adj_matrix_jax)m.net.eigen(adj_matrix_jax)m.net.eigen(adj_matrix_jax)m.net.eigen(adj_matrix_jax)m.net.eigen(adj_matrix_jax)